﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
' ItemTooltip classes contributed by Lukan Schwigtenberg (sepai69@gmail.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Imports System.Collections.ObjectModel
Imports System.Xml.Serialization

Namespace roncliProductions.LibWowArmory.Item.Tooltip.Schema

    Public Class itemTooltip

        <XmlElement()> Public Property id As Integer
        <XmlElement()> Public Property name As String
        <XmlElement()> Public Property icon As String
        <XmlElement()> Public Property overallQualityId As Integer
        <XmlElement()> Public Property bonding As Integer
        <XmlElement()> Public Property accountBound As Integer
        <XmlElement()> Public Property instanceBound As String
        <XmlElement()> Public Property zoneBound As String
        <XmlElement()> Public Property stackable As Integer
        <XmlElement()> Public Property classId As Integer
        <XmlElement()> Public Property requiredLevel As Integer
        <XmlElement()> Public Property requiredLevelMin As Integer
        <XmlElement()> Public Property requiredLevelMax As Integer
        <XmlElement()> Public Property requiredLevelCur As Integer
        <XmlElement()> Public Property requiredAbility As String
        <XmlElement()> Public Property heroic As Integer
        <XmlElement()> Public Property itemLevel As Integer
        <XmlElement()> Public Property desc As String
        <XmlElement()> Public Property blockValue As Integer
        <XmlElement()> Public Property bonusIntellect As Integer
        <XmlElement()> Public Property bonusSpirit As Integer
        <XmlElement()> Public Property bonusStrength As Integer
        <XmlElement()> Public Property bonusStamina As Integer
        <XmlElement()> Public Property bonusAgility As Integer
        <XmlElement()> Public Property bonusHitRating As Integer
        <XmlElement()> Public Property bonusCritRating As Integer
        <XmlElement()> Public Property bonusAttackPower As Integer
        <XmlElement()> Public Property bonusSpellPower As Integer
        <XmlElement()> Public Property bonusExpertiseRating As Integer
        <XmlElement()> Public Property bonusParryRating As Integer
        <XmlElement()> Public Property bonusArmorPenetration As Integer
        <XmlElement()> Public Property bonusDodgeRating As Integer
        <XmlElement()> Public Property bonusDefenseSkillRating As Integer
        <XmlElement()> Public Property bonusResilienceRating As Integer
        <XmlElement()> Public Property bonusBlockRating As Integer
        <XmlElement()> Public Property bonusHasteRating As Integer
        <XmlElement()> Public Property bonusManaRegen As Integer
        <XmlElement()> Public Property bonusSpellPenetration As Integer
        <XmlElement()> Public Property bonusBlockValue As Integer
        <XmlElement()> Public Property bonusHealthRegen As Integer
        <XmlElement()> Public Property natureResist As Integer
        <XmlElement()> Public Property shadowResist As Integer
        <XmlElement()> Public Property frostResist As Integer
        <XmlElement()> Public Property fireResist As Integer
        <XmlElement()> Public Property arcaneResist As Integer
        <XmlElement()> Public Property startQuestId As Integer
        <XmlElement()> Public Property gemProperties As String
        <XmlElement()> Public Property glyphType As String
        <XmlElement()> Public Property enchant As String

        Private rsRequiredSkill As New Collection(Of itemTooltip_requiredSkill)
        <XmlElement()> Public ReadOnly Property requiredSkill As Collection(Of itemTooltip_requiredSkill)
            Get
                Return rsRequiredSkill
            End Get
        End Property

        Private sdSetData As New Collection(Of setData)
        <XmlElement()> Public ReadOnly Property setData As Collection(Of setData)
            Get
                Return sdSetData
            End Get
        End Property

        Private mcMaxCount As New Collection(Of maxCount)
        <XmlElement()> Public ReadOnly Property maxCount As Collection(Of maxCount)
            Get
                Return mcMaxCount
            End Get
        End Property

        Private edEquipData As New Collection(Of equipData)
        <XmlElement()> Public ReadOnly Property equipData As Collection(Of equipData)
            Get
                Return edEquipData
            End Get
        End Property

        Private ddDamageData As New Collection(Of damageData)
        <XmlElement()> Public ReadOnly Property damageData As Collection(Of damageData)
            Get
                Return ddDamageData
            End Get
        End Property

        Private redRandomEnchantData As New Collection(Of randomEnchantData)
        <XmlElement()> Public ReadOnly Property randomEnchantData As Collection(Of randomEnchantData)
            Get
                Return redRandomEnchantData
            End Get
        End Property

        Private aArmor As New Collection(Of armor)
        <XmlElement()> Public ReadOnly Property armor As Collection(Of armor)
            Get
                Return aArmor
            End Get
        End Property

        Private dDurability As New Collection(Of durability)
        <XmlElement()> Public ReadOnly Property durability As Collection(Of durability)
            Get
                Return dDurability
            End Get
        End Property

        Private sdSpellData As New Collection(Of spellData)
        <XmlElement()> Public ReadOnly Property spellData As Collection(Of spellData)
            Get
                Return sdSpellData
            End Get
        End Property

        Private isItemSource As New Collection(Of itemSource)
        <XmlElement()> Public ReadOnly Property itemSource As Collection(Of itemSource)
            Get
                Return isItemSource
            End Get
        End Property

        Private arAllowableRaces As New Collection(Of allowableRaces)
        <XmlElement()> Public ReadOnly Property allowableRaces As Collection(Of allowableRaces)
            Get
                Return arAllowableRaces
            End Get
        End Property

        Private acAllowableClasses As New Collection(Of allowableClasses)
        <XmlElement()> Public ReadOnly Property allowableClasses As Collection(Of allowableClasses)
            Get
                Return acAllowableClasses
            End Get
        End Property

        Private rfRequiredFaction As New Collection(Of requiredFaction)
        <XmlElement()> Public ReadOnly Property requiredFaction As Collection(Of requiredFaction)
            Get
                Return rfRequiredFaction
            End Get
        End Property

        Private sdSocketData As New Collection(Of socketData)
        <XmlElement()> Public ReadOnly Property socketData As Collection(Of socketData)
            Get
                Return sdSocketData
            End Get
        End Property

        Private rprRequiredPersonalArenaRating As New Collection(Of requiredPersonalArenaRating)
        <XmlElement()> Public ReadOnly Property requiredPersonalArenaRating As Collection(Of requiredPersonalArenaRating)
            Get
                Return rprRequiredPersonalArenaRating
            End Get
        End Property

        Private cConjured As New Collection(Of conjured)
        <XmlElement()> Public ReadOnly Property conjured As Collection(Of conjured)
            Get
                Return cConjured
            End Get
        End Property

    End Class

End Namespace